<script>
    // 解决了代码重复的问题
    // 封装了实例化过程
function Cat(name, color) {
    // this 由运行的时候决定的
    console.log(this); // 空对象
    this.name = name; // this指向对象 进行对象的初始化
    this.color = color;
}
// 普通函数调用的时候，this 指向 window
Cat('黑猫警长','黑色') // 函数运行
// new Object() 完全是个空对象 {}
const cat1 = new Cat('加菲猫','橘色') // this指向实例化对象 空对象
console.log(cat1);
const cat2 = new Cat('黑猫警长','黑色');
console.log(cat1.constructor === cat1.constructor);
// 实例判断
console.log(cat1 instanceof Cat);
</script>